package com.candy.service;

import com.candy.dao.DBProvider;
import com.candy.pojo.StudentInfo;
import org.apache.commons.dbutils.handlers.BeanListHandler;

import java.util.List;

public class UserInfoManagerService {
    /**
     * 查询全部用户信息
     * @return
     */
    public List<StudentInfo>  getUserInfo(){
//        准备需要操作数据库的sql
        String strSql="select * from studentinfo where isdelete=0";
//        调用封装好的JDBC中的query方法进行查询
        List<StudentInfo> ls= DBProvider.query(strSql,new BeanListHandler<>(StudentInfo.class));
        return ls;
    }

    /**
     * 用户信息新增
     * @param username 用户名
     * @param userpwd 密码
     * @param useraddress 地址
     * @param usertel 电话
     * @return 影响行数
     */
    public int addUserInfo(String username,String userpwd,String useraddress,String usertel,String imgsrc){
//        新增用户信息的sql语句
        String strSql="insert into studentinfo(username,userpwd,useraddress,usertel,imgsrc) values(?,?,?,?,?)";
//        调用新增方法
        int num=DBProvider.update(strSql,username,userpwd,useraddress,usertel,imgsrc);
//        将执行结果（影响行数）返回
        return num;
    }


    /**
     * 根据用户id查询用户信息
     * @param userId
     * @return
     */
    public StudentInfo getUserinfoById(int userId){
        //        准备需要操作数据库的sql
        String strSql="select * from studentinfo where id=?";
//        调用封装好的JDBC中的query方法进行查询
        List<StudentInfo> ls= DBProvider.query(strSql,new BeanListHandler<>(StudentInfo.class),userId);
        return ls.get(0);
    }

    /**
     * 修改用户信息
     * @param username
     * @param userpwd
     * @param useraddress
     * @param usertel
     * @param userid
     * @return
     */
    public int updateUserInfo(String username,String userpwd,String useraddress,String usertel,int userid){
//        新增用户信息的sql语句
        String strSql="update studentinfo set username=?,userpwd=?,useraddress=?,usertel=? where id=?";
//        调用新增方法
        int num=DBProvider.update(strSql,username,userpwd,useraddress,usertel,userid);
//        将执行结果（影响行数）返回
        return num;
    }

    /**
     * 删除用户信息
     * @param userid
     * @return
     */
    public int deleteUserInfo(int userid){
//        新增用户信息的sql语句
        String strSql="update studentinfo set isdelete=? where id=?";
//        调用新增方法
        int num=DBProvider.update(strSql,1,userid);
//        将执行结果（影响行数）返回
        return num;
    }








}
